#pragma once

#include "MdSpi.h"
#include "ThostFtdcUserApiStruct.h"
#include <iostream>
#include <string>
#include <sstream>

using namespace std;


//
//class Data_Filter
//{
//public:
//	Data_Filter(char* Constract_ID1,string& Trading_Time1,time_t time1,float Close_Price1)
//	{
//		memset(Constract_ID1, 0, 31);
//		strcpy(Constract_ID, Constract_ID1);
//        Trading_Time = Trading_Time1;
//		Close_Price = Close_Price1;
//		time = time1;
//	};
//
//	Data_Filter(CThostFtdcDepthMarketDataField* MarketData)
//	{	
//		if (NULL != MarketData)
//		{
//			memset(Constract_ID, 0, 31);
//			strcpy(Constract_ID,MarketData->InstrumentID);
//
//			struct tm * timeinfo;
//			timeinfo = new struct tm();
//			
//			//20120313 11:29:59
//			// define the time variables of trading
//			string str_date;
//			string str_time;
//			string str_year;
//			string str_month;
//			string str_day;
//			string str_hour;
//			string str_mins;
//			string str_sec;
//			str_date = string(MarketData->TradingDay);
//			str_time = string(MarketData->UpdateTime);
//		
//			str_year = str_date.substr(0, 4);
//			str_month = str_date.substr(4, 2);
//			str_day = str_date.substr(6, 2);
//
//			str_hour = str_time.substr(0, 2);
//			str_mins = str_time.substr(3, 2);
//			str_sec = str_time.substr(6, 2);
//
//			int year = atoi(str_year.c_str());
//			int month = atoi(str_month.c_str());
//			int day = atoi(str_day.c_str());
//
//			int hour = atoi(str_hour.c_str());
//			int mins = atoi(str_mins.c_str());
//			int sec = atoi(str_sec.c_str());
//
//			timeinfo->tm_year = year - 1900;
//			timeinfo->tm_mon = month - 1;
//			timeinfo->tm_mday = day;
//
//			timeinfo->tm_hour = hour;
//			timeinfo->tm_min = mins;
//			timeinfo->tm_sec = sec;
//			
//			time = mktime (timeinfo);
//
//			stringstream ss;
//			ss << str_year << "-" << str_month << "-" << str_day <<  " " << str_hour <<  ":" <<  str_mins << ":" << str_sec;
//
//			Trading_Time = string(ss.str().c_str());
//
//			Close_Price = MarketData->ClosePrice;
//		
//		}
//
//	};
//
//	char Constract_ID[31];
//	string Trading_Time;
//	time_t time;			//to calculate the time precision rate according to the data type
//	float Close_Price;
//};


struct Signal
{
	string Trading_Time;
	time_t time;
	float Close_Price;
	int offset;
};